home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
PWAULTP3.ZIP
/
PWAPRGMS.A02
/
PWA95
/
PWALOG02.ZIP
/
LOG.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-04-09
|
11KB
|
720 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
DWord DWORD001
DWord DWORD002
Date DATE001
Date DATE002
Date DATE003
Date DATE004
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
Integer INTEGER016
String TSTRING001(23)
String STRING002
String STRING003
String STRING004
String TSTRING005(25)
String STRING006
String STRING007
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String TSTRING015(25)
String STRING016
String STRING020
Int INT001
Int INT002
Int INT003
Int INT004
Int INT005
Int INT006
Int INT007
Int INT008
Int INT009
Int INT010
Int INT011
Int INT012
Declare Function FUNCTION002(String STRING017, Int INT013, String STRING018, String STRING019) String
Declare Procedure PROC001()
Declare Procedure PROC002()
Declare Procedure PROC003(Var Integer INTEGER001, Var Integer INTEGER002, Integer INTEGER003)
Declare Procedure PROC004(Var Integer INTEGER004, Integer INTEGER005)
Declare Procedure PROC005(Var Integer INTEGER006, Integer INTEGER007)
Declare Procedure PROC006(Integer INTEGER008, String STRING008)
Declare Procedure PROC007()
Declare Procedure PROC008(Var String STRING021, Var Date DATE005, Var Date DATE006)
;------------------------------------------------------------------------------
PROC001()
Shell 0, BOOLEAN001, PPEPath() + "getdate.exe", String(Date()) + " " + STRING002 + " " + PPEPath() + " + " + String(PcbNode())
PROC002()
End
;------------------------------------------------------------------------------
Procedure PROC001()
STRING003 = "@X08├───────── @X09User @X08──────────── @X09Baud @X08──── @X09Start-End @X08─── @X09DL UL MS PG Node Flags @X08─┤@X07"
INT001 = ReadLine(PPEPath() + "log.cfg", 1)
STRING004 = ReadLine(PPEPath() + "log.cfg", 2)
PrintLn "@X08[PWA] LogView 0.1 (C) @X07BlackCat"
Newline
While (1) Do
FreshLine
STRING006 = ""
INT002 = PcbNode()
InputStr "@X07Node log to view (enter aborts): _", STRING006, 7, 5, Mask_Num(), 0
FreshLine
If (STRING006 == "") End
INT002 = ToInteger(STRING006)
If (INT002 == PcbNode()) Then
If (INT002 == 0) Then
STRING002 = STRING004
Goto LABEL001
Endif
STRING002 = STRING004 + String(INT002)
:LABEL001
Break
Endif
If ((INT002 >= 1) && (INT002 <= INT001)) Then
STRING002 = STRING004 + String(INT002)
Break
Endif
PrintLn "@X0CInvalid log selected, try again please.."
EndWhile
FClose -1
Delete PPEPath() + "start" + String(PcbNode())
EndProc
;------------------------------------------------------------------------------
Procedure PROC003(Var Integer INTEGER001, Var Integer INTEGER002, Integer INTEGER003)
String STRING007
Boolean BOOLEAN002
Int INT006
Int INT007
Int INT008
BOOLEAN002 = 0
FSeek 1, INTEGER001, 0
FDGet STRING007
If (STRING007 == "") Then
INTEGER001 = INTEGER003
FSeek 1, INTEGER003, 0
Else
FSeek 1, INTEGER001, 0
For INT006 = 1 To 18
FDGet TSTRING001(INT006)
If (TSTRING001(INT006) == "") Then
INTEGER002 = INT006 - 1
BOOLEAN002 = 1
INT008 = Len(StripAtx(STRING007))
For INT007 = INT006 To 18
AnsiPos 3, 4 + INT007
Print Space(INT008)
Next
Break
Endif
AnsiPos 3, 4 + INT006
Print "@X07", TSTRING001(INT006)
Next
If (!BOOLEAN002) INTEGER002 = 18
Endif
EndProc
;------------------------------------------------------------------------------
Procedure PROC004(Var Integer INTEGER004, Integer INTEGER005)
AnsiPos 3, 4 + INTEGER004
Print "@X07", TSTRING001(INTEGER004)
If (INTEGER004 == INTEGER005) Then
INTEGER004 = 1
Else
Inc INTEGER004
Endif
AnsiPos 3, 4 + INTEGER004
Print "@X4F", TSTRING001(INTEGER004)
EndProc
;------------------------------------------------------------------------------
Procedure PROC005(Var Integer INTEGER006, Integer INTEGER007)
AnsiPos 3, 4 + INTEGER006
Print "@X07", TSTRING001(INTEGER006)
If (INTEGER006 == 1) Then
INTEGER006 = INTEGER007
Else
Dec INTEGER006
Endif
AnsiPos 3, 4 + INTEGER006
Print "@X4F", TSTRING001(INTEGER006)
EndProc
;------------------------------------------------------------------------------
Procedure PROC006(Integer INTEGER008, String STRING008)
String STRING009
Integer INTEGER009
Integer INTEGER010
FOpen 2, STRING008, 0, 0
FSeek 2, (INTEGER008 - 1) * 4, 0
FRead 2, INTEGER009, 4
FClose 2
StartDisp 2
FOpen 2, STRING002, 0, 0
FSeek 2, INTEGER009, 0
INTEGER010 = 1
While (1) Do
FGet 2, STRING009
If (Ferr(2)) Break
If ((Left(STRING009, 1) == "*") && (INTEGER010 <> 1)) Break
If (InStr(STRING009, "(U)")) Then
PrintLn "@X0F", STRING009
ElseIf (InStr(STRING009, "Error")) Then
PrintLn "@X0C", STRING009
ElseIf (InStr(STRING009, "Expired")) Then
PrintLn "@X0C", STRING009
ElseIf (InStr(STRING009, "Exceeded")) Then
PrintLn "@X0C", STRING009
ElseIf (InStr(STRING009, "Directory Scan")) Then
PrintLn "@X04", STRING009
ElseIf (InStr(STRING009, "Message Left")) Then
PrintLn "@X0D", STRING009
Else
PrintLn "@X07", STRING009
Endif
If (Abort()) Break
Inc INTEGER010
EndWhile
If (Abort()) ResetDisp
FClose 2
Wait
StartDisp 1
EndProc
;------------------------------------------------------------------------------
Procedure PROC002()
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
Date DATE001
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
Integer INTEGER016
Int INT009
DWord DWORD001
DWord DWORD002
Date DATE002
Date DATE003
STRING010 = PPEPath() + "data" + String(PcbNode())
STRING013 = PPEPath() + "pos" + String(PcbNode())
DATE001 = Date()
StartDisp 1
DispFile PPEPath() + "menu", 0
AnsiPos 1, 4
Print STRING003
AnsiPos 60, 1
Print "@X08[ @X09", String(Date()), " @X08]"
FOpen 1, STRING010, 0, 0
FDefIn 1
FDGet STRING011
INTEGER012 = Len(STRING011) + 2
INT009 = INTEGER012
FSeek 1, 0, 0
INTEGER011 = 0
INTEGER015 = 0
INTEGER016 = 1
INTEGER013 = 1
While (1) Do
INTEGER013 = 1
PROC003(INTEGER011, INTEGER014, INTEGER015)
If (INTEGER011 > INTEGER015) INTEGER016 = INTEGER016 + 18
AnsiPos 3, 4 + INTEGER013
Print "@X4F", TSTRING001(INTEGER013)
While (1) Do
STRING012 = Upper(Inkey())
If (STRING012 == Chr(9)) Then
PROC007()
Continue
Endif
If ((STRING012 == "V") || (STRING012 == Chr(13))) Then
AnsiPos 1, 23
SaveScrn
DefColor
Cls
DWORD001 = INTEGER016 + INTEGER013 - 1
PROC006(DWORD001, STRING013)
RestScrn
KbdStuff ">"
Continue
Endif
If ((STRING012 == "PGUP") || (STRING012 == "[")) Then
If (INTEGER011 > 0) Then
INTEGER015 = INTEGER011
INTEGER011 = INTEGER011 - 18 * INTEGER012
INTEGER016 = INTEGER016 - 18
Break
Endif
Continue
Endif
If ((STRING012 == "PGDN") || (STRING012 == "]")) Then
INTEGER015 = INTEGER011
INTEGER011 = INTEGER011 + INTEGER014 * INTEGER012
AnsiPos 3, 4 + INTEGER013
Print "@X07", TSTRING001(INTEGER013)
Break
Continue
Endif
If ((STRING012 == "DOWN") || (STRING012 == ">")) Then
PROC004(INTEGER013, INTEGER014)
Continue
Endif
If ((STRING012 == "UP") || (STRING012 == "<")) Then
PROC005(INTEGER013, INTEGER014)
Continue
Endif
If ((STRING012 == Chr(27)) || (STRING012 == "Q")) Then
DefColor
Cls
PrintLn "@X07BlackCat LogView 1.0"
End
Continue
Endif
If (((STRING012 == "-") || (STRING012 == Chr(18))) || (STRING012 == "LEFT")) Then
If (STRING012 <> Chr(18)) Dec DATE001
FOpen 2, STRING013, 0, 0
FRead 2, DWORD002, 4
FClose 2
FCreate 2, PPEPath() + "start" + String(PcbNode()), 1, 0
FPutLn 2, String(DWORD002)
FClose 2
Shell 0, BOOLEAN001, PPEPath() + "getdate.exe", String(DATE001) + " " + STRING002 + " " + PPEPath() + " + " + String(PcbNode())
DefColor
Cls
DispFile PPEPath() + "menu", 0
AnsiPos 1, 4
Print STRING003
AnsiPos 60, 1
Print "@X08[ @X09", String(DATE001), " @X08]"
FClose 1
FOpen 1, STRING010, 0, 0
FDefIn 1
INTEGER015 = 0
INTEGER011 = 0
INTEGER016 = 1
INTEGER012 = INT009
Break
Continue
Endif
If (((STRING012 == "+") || (STRING012 == "=")) || (STRING012 == "RIGHT")) Then
If (DATE001 == Date()) Continue
Delete PPEPath() + "start" + String(PcbNode())
Inc DATE001
FOpen 2, STRING013, 0, 0
FSeek 2, -4, 2
FRead 2, DWORD002, 4
FClose 2
FCreate 2, PPEPath() + "start" + String(PcbNode()), 1, 0
FPutLn 2, String(DWORD002)
FClose 2
Shell 0, BOOLEAN001, PPEPath() + "getdate.exe", String(DATE001) + " " + STRING002 + " " + PPEPath() + " + " + String(PcbNode())
DefColor
Cls
DispFile PPEPath() + "menu", 0
AnsiPos 1, 4
Print STRING003
AnsiPos 60, 1
Print "@X08[ @X09", String(DATE001), " @X08]"
FClose 1
FOpen 1, STRING010, 0, 0
FDefIn 1
INTEGER015 = 0
INTEGER011 = 0
INTEGER016 = 1
INTEGER012 = INT009
Break
Continue
Endif
If (STRING012 == Chr(4)) Then
FOpen 2, STRING013, 0, 0
FRead 2, DWORD002, 4
FClose 2
FCreate 2, PPEPath() + "start" + String(PcbNode()), 1, 0
FPutLn 2, String(DWORD002)
FClose 2
Shell 0, BOOLEAN001, PPEPath() + "getdate.exe", String(DATE001) + " " + STRING002 + " " + PPEPath() + " D " + String(PcbNode())
DefColor
Cls
DispFile PPEPath() + "menu", 0
AnsiPos 60, 1
Print "@X08[ @X09", String(DATE001), " @X08]"
FClose 1
FOpen 1, STRING010, 0, 0
FDefIn 1
INTEGER015 = 0
INTEGER011 = 0
INTEGER016 = 1
INTEGER012 = Len(ReadLine(STRING010, 1)) + 2
Break
Continue
Endif
If (STRING012 == Chr(21)) Then
FOpen 2, STRING013, 0, 0
FRead 2, DWORD002, 4
FClose 2
FCreate 2, PPEPath() + "start" + String(PcbNode()), 1, 0
FPutLn 2, String(DWORD002)
FClose 2
Shell 0, BOOLEAN001, PPEPath() + "getdate.exe", String(DATE001) + " " + STRING002 + " " + PPEPath() + " U " + String(PcbNode())
DefColor
Cls
DispFile PPEPath() + "menu", 0
AnsiPos 60, 1
Print "@X08[ @X09", String(DATE001), " @X08]"
FClose 1
FOpen 1, STRING010, 0, 0
FDefIn 1
INTEGER015 = 0
INTEGER011 = 0
INTEGER016 = 1
INTEGER012 = Len(ReadLine(STRING010, 1)) + 2
Break
Continue
Endif
If (STRING012 == Chr(14)) Then
Delete PPEPath() + "start" + String(PcbNode())
DATE001 = FUNCTION002("@X07Date ", 8, 7, "")
If (DATE001 == "") Continue
Shell 0, BOOLEAN001, PPEPath() + "getdate.exe", String(DATE001) + " " + STRING002 + " " + PPEPath() + " + " + String(PcbNode())
DefColor
Cls
DispFile PPEPath() + "menu", 0
AnsiPos 1, 4
Print STRING003
AnsiPos 60, 1
Print "@X08[ @X09", String(DATE001), " @X08]"
FClose 1
FOpen 1, STRING010, 0, 0
FDefIn 1
INTEGER015 = 0
INTEGER011 = 0
INTEGER016 = 1
INTEGER012 = INT009
Break
Continue
Endif
If (STRING012 == Chr(6)) Then
DATE002 = DATE001
DATE003 = Date()
PROC008(STRING014, DATE002, DATE003)
If (STRING014 == "") Continue
FCreate 2, PPEPath() + "search" + String(PcbNode()), 1, 0
FPutLn 2, STRING014
FClose 2
FOpen 2, STRING013, 0, 0
FRead 2, DWORD002, 4
FClose 2
FCreate 2, +String(PcbNode()), 1, 0
FPutLn 2, String(DWORD002)
FClose 2
Shell 0, BOOLEAN001, PPEPath() + "getdate.exe", String(DATE002) + " " + STRING002 + " " + PPEPath() + " S " + String(PcbNode()) + " " + String(DATE003)
DefColor
Cls
DispFile PPEPath() + "menu", 0
AnsiPos 60, 1
Print "@X08[ @X09", String(DATE001), " @X08]"
FClose 1
FOpen 1, STRING010, 0, 0
FDefIn 1
INTEGER015 = 0
INTEGER011 = 0
INTEGER016 = 1
INTEGER012 = Len(ReadLine(STRING010, 1)) + 2
Break
Endif
EndWhile
EndWhile
EndProc
;------------------------------------------------------------------------------
Procedure PROC007()
Int INT010
Int INT011
Int INT012
String TSTRING015(25)
INT011 = GetX()
INT012 = GetY()
For INT010 = 1 To 10
TSTRING015(INT010) = ScrText(1, INT010 + 4, 80, 1)
Next
AnsiPos 1, 5
Print "@X4F"
Print " HELP "
Print "▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀"
Print " [TAB ] = Help [CTRL-D] View Downloads "
Print " [ESC ] = Quit LogView [CTRL-U] View Uploads "
Print " [- ] = Previous day [CTRL-R] Reread current date "
Print " [+/= ] = Next day [CTRL-F] Find string "
Print " [ENTER ] = View current entry "
Print " [CTRL-N] = New Date (Manual) "
Print "▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀"
Print " PRESS [ESC] TO CONTINUE "
While (Inkey() <> Chr(27)) Do
EndWhile
For INT010 = 1 To 10
AnsiPos 1, INT010 + 4
Print TSTRING015(INT010)
Next
AnsiPos INT011, INT012
Return
EndProc
STRING006 = ""
INT004 = GetX()
INT005 = GetY()
For INT003 = 1 To 3
TSTRING005(INT003) = ScrText(1, INT003 + 11, 80, 1)
Next
AnsiPos 1, 12
Print "@X1F"
Print "@X1F ┌─────────────────────────────────────────────────────────────────────────────┐"
Print "@X1F │@X07 @X1F│"
Print "@X1F └─────────────────────────────────────────────────────────────────────────────┘"
AnsiPos 3, 13
InputStr "" + "_", STRING006, 7, 0, "", 0
For INT003 = 1 To 3
AnsiPos 1, INT003 + 11
Print TSTRING005(INT003)
Next
AnsiPos INT004, INT005
STRING016 = STRING006
EndFunc
;------------------------------------------------------------------------------
Function FUNCTION002(String STRING017, Int INT013, String STRING018, String STRING019) String
Date DATE004
String STRING021
STRING006 = ""
INT004 = GetX()
INT005 = GetY()
For INT003 = 1 To 3
TSTRING005(INT003) = ScrText(1, INT003 + 11, 80, 1)
Next
AnsiPos 1, 12
Print "@X1F"
Print "@X1F ┌─────────────────────────────────────────────────────────────────────────────┐"
Print "@X1F │@X07 @X1F│"
Print "@X1F └─────────────────────────────────────────────────────────────────────────────┘"
AnsiPos 3, 13
DATE004 = Date()
InputDate STRING017, DATE004, 7
STRING006 = String(DATE004)
For INT003 = 1 To 3
AnsiPos 1, INT003 + 11
Print TSTRING005(INT003)
Next
AnsiPos INT004, INT005
FUNCTION002 = ToDate(STRING006)
EndFunc
;------------------------------------------------------------------------------
Procedure PROC008(Var String STRING021, Var Date DATE005, Var Date DATE006)
STRING006 = ""
INT004 = GetX()
INT005 = GetY()
For INT003 = 1 To 5
TSTRING005(INT003) = ScrText(1, INT003 + 11, 80, 1)
Next
AnsiPos 1, 12
Print "@X1F"
Print "@X1F ┌─────────────────────────────────────────────────────────────────────────────┐"
Print "@X1F │@X07 @X1F│"
Print "@X1F │@X07 @X1F│"
Print "@X1F │@X07 @X1F│"
Print "@X1F └─────────────────────────────────────────────────────────────────────────────┘"
AnsiPos 3, 13
InputStr "Search string: ", STRING021, 7, 60, Mask_Pwd(), 0
AnsiPos 3, 14
InputDate " Start date: ", DATE005, 7
AnsiPos 3, 15
InputDate " End date: ", DATE006, 7
For INT003 = 1 To 5
AnsiPos 1, INT003 + 11
Print TSTRING005(INT003)
Next
AnsiPos INT004, INT005
EndProc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 3 End
; 8 Cls
; 1 Wait
; 96 Goto
; 102 Let
; 48 Print
; 10 PrintLn
; 53 If
; 7 DispFile
; 6 FCreate
; 14 FOpen
; 20 FClose
; 1 FGet
; 6 FPutLn
; 1 ResetDisp
; 3 StartDisp
; 8 DefColor
; 3 Delete
; 3 InputStr
; 3 InputDate
; 1 Return
; 3 Inc
; 2 Dec
; 1 Newline
; 7 Shell
; 1 KbdStuff
; 37 AnsiPos
; 2 FreshLine
; 1 SaveScrn
; 1 RestScrn
; 7 FSeek
; 6 FRead
; 7 FDefIn
; 3 FDGet
; 8 EndProc
; 2 EndFunc
;
;
; ■ Functions used :
;
; 1 +
; 2 -
; 3 *
; 116 +
; 5 -
; 34 ==
; 3 <>
; 10 <
; 11 <=
; 2 >
; 21 >=
; 43 !
; 22 &&
; 20 ||
; 5 Len(
; 1 Upper()
; 1 Left()
; 1 Space()
; 1 Ferr()
; 10 Chr()
; 6 InStr()
; 2 Abort()
; 6 Date()
; 1 StripAtx()
; 2 Inkey()
; 41 String()
; 1 Mask_Pwd()
; 1 Mask_Num()
; 33 PPEPath()
; 20 PcbNode()
; 5 ReadLine()
; 4 GetX()
; 4 GetY()
; 4 ScrText()
; 1 ToDate()
; 1 ToInteger()
;
;------------------------------------------------------------------------------
;
; Analysis flags : S
;
; S - Shell to DOS ■ 5
; This may be normal if the PPE need to execute an external command,
; but may be actually anything... nasty (formating HD, rebooting,...)
; or usefull (sorting, maintenance,...). Check!
; ■ Search for : SHELL
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 10 For/Next
; 5 While/EndWhile
; 27 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------